// 记分牌类
class ScorePanel {
  // score和level用来记录分数和等级
  score: number = 0;
  level: number = 1;

  // 分数和等级所在的元素，在构造函数中进行初始化
  ScoreEle: HTMLElement;
  LevelEle: HTMLElement;

  // 设置一个变量限制等级
  maxLevel: number;
  // 设置一个变量表示多少分时升级
  upScore: number;

  constructor(maxLevel = 10, upScore = 10) {
    this.ScoreEle = document.getElementById('score')!;
    this.LevelEle = document.getElementById('level')!;
    this.maxLevel = maxLevel;
    this.upScore = upScore;
  }

  // 设置一个加分的方法
  scoreAdd() {
    // 使分数自增
    this.ScoreEle.innerHTML = ++this.score + '';
    // 判断分数是多少
    if (this.score % this.upScore == 0) {
      this.levelUp();
    }
  }

  // 提升等级的方法
  levelUp() {
    if (this.level < this.maxLevel) this.LevelEle.innerHTML = ++this.level + '';
  }
}

export default ScorePanel;
